[INFO] fetching crate url-fork 3.0.0...
[INFO] checking url-fork-3.0.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate url-fork 3.0.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate url-fork 3.0.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate url-fork 3.0.0
[INFO] finished tweaking crates.io crate url-fork 3.0.0
[INFO] tweaked toml for crates.io crate url-fork 3.0.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d333aaabef5c833b80f600fb17d7f8e2d07b394ae0de609a4c0fb4e82bd62e4e
[INFO] running `Command { std: "docker" "start" "-a" "d333aaabef5c833b80f600fb17d7f8e2d07b394ae0de609a4c0fb4e82bd62e4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d333aaabef5c833b80f600fb17d7f8e2d07b394ae0de609a4c0fb4e82bd62e4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d333aaabef5c833b80f600fb17d7f8e2d07b394ae0de609a4c0fb4e82bd62e4e", kill_on_drop: false }`
[INFO] [stdout] d333aaabef5c833b80f600fb17d7f8e2d07b394ae0de609a4c0fb4e82bd62e4e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ed751dbbda0c4fe490503c3c0ed0a290d4ec1a7e518f9f04170851999185eafc
[INFO] running `Command { std: "docker" "start" "-a" "ed751dbbda0c4fe490503c3c0ed0a290d4ec1a7e518f9f04170851999185eafc", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking url-fork v3.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]   --> src/net/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs,
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]   --> src/net/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs,
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.57s
[INFO] running `Command { std: "docker" "inspect" "ed751dbbda0c4fe490503c3c0ed0a290d4ec1a7e518f9f04170851999185eafc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed751dbbda0c4fe490503c3c0ed0a290d4ec1a7e518f9f04170851999185eafc", kill_on_drop: false }`
[INFO] [stdout] ed751dbbda0c4fe490503c3c0ed0a290d4ec1a7e518f9f04170851999185eafc
[INFO] checking url-fork-3.0.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate url-fork 3.0.0 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate url-fork 3.0.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate url-fork 3.0.0
[INFO] finished tweaking crates.io crate url-fork 3.0.0
[INFO] tweaked toml for crates.io crate url-fork 3.0.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 46b8e6e4c1dc385a5753ddcefbfea074b0e9a72bfc298e7d66dd14ae9645061e
[INFO] running `Command { std: "docker" "start" "-a" "46b8e6e4c1dc385a5753ddcefbfea074b0e9a72bfc298e7d66dd14ae9645061e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46b8e6e4c1dc385a5753ddcefbfea074b0e9a72bfc298e7d66dd14ae9645061e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46b8e6e4c1dc385a5753ddcefbfea074b0e9a72bfc298e7d66dd14ae9645061e", kill_on_drop: false }`
[INFO] [stdout] 46b8e6e4c1dc385a5753ddcefbfea074b0e9a72bfc298e7d66dd14ae9645061e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5bd52c0b6df1ec24aa664f5f827d3f3ddc5cf724dfb0f7956cc432542147944
[INFO] running `Command { std: "docker" "start" "-a" "b5bd52c0b6df1ec24aa664f5f827d3f3ddc5cf724dfb0f7956cc432542147944", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking url-fork v3.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/host.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |             return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/host.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |             return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/host.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |     for i in 0..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/host.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         input = &input[2..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/host.rs:295:24
[INFO] [stdout]     |
[INFO] [stdout] 295 |         input = &input[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/host.rs:304:47
[INFO] [stdout]     |
[INFO] [stdout] 304 |         8 => input.as_bytes().iter().all(|c| (b'0'..=b'7').contains(c)),
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/idna/punycode.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &input[position + 1..]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/idna/uts46.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |     &STRING_TABLE[start..(start + len)]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/idna/uts46.rs:392:49
[INFO] [stdout]     |
[INFO] [stdout] 392 |                     let decoded_label = &output[start..];
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/idna/uts46.rs:422:25
[INFO] [stdout]     |
[INFO] [stdout] 422 |     for label in output[offset..].split('.') {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]   --> src/net/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs,
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:534:32
[INFO] [stdout]     |
[INFO] [stdout] 534 |                         .drain(host_start as usize..host_end as usize);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1209:53
[INFO] [stdout]      |
[INFO] [stdout] 1209 | ...                   &self.serialization[path_start + 1..],
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1230:37
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                 &self.serialization[segment_start..self.serialization.len() - 1]
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1232:37
[INFO] [stdout]      |
[INFO] [stdout] 1232 |                 &self.serialization[segment_start..self.serialization.len()]
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1307:74
[INFO] [stdout]      |
[INFO] [stdout] 1307 |                 && !path_starts_with_windows_drive_letter(&serialization[segment_before_start..])
[INFO] [stdout]      |                                                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1321:71
[INFO] [stdout]      |
[INFO] [stdout] 1321 |             && is_normalized_windows_drive_letter(&self.serialization[path_start..])
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1332:53
[INFO] [stdout]      |
[INFO] [stdout] 1332 |             let slash_position = self.serialization[path_start..].rfind('/').unwrap();
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1337:75
[INFO] [stdout]      |
[INFO] [stdout] 1337 |                 && is_normalized_windows_drive_letter(&self.serialization[segment_start..]))
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1386:35
[INFO] [stdout]      |
[INFO] [stdout] 1386 |             if self.serialization[path_start_as_usize..].starts_with("//") {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1392:41
[INFO] [stdout]      |
[INFO] [stdout] 1392 |             assert!(!self.serialization[scheme_end_as_usize..].starts_with("://"));
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1394:36
[INFO] [stdout]      |
[INFO] [stdout] 1394 |             && &self.serialization[scheme_end_as_usize..path_start_as_usize] == ":/."
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1409:36
[INFO] [stdout]      |
[INFO] [stdout] 1409 |                     .replace_range(scheme_end_as_usize..path_start_as_usize, ":");
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1412:41
[INFO] [stdout]      |
[INFO] [stdout] 1412 |             assert!(!self.serialization[scheme_end_as_usize..].starts_with("://"));
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1614:88
[INFO] [stdout]      |
[INFO] [stdout] 1614 |         matches!(c, b'/' | b'\\' | b'?' | b'#') && starts_with_windows_drive_letter(&s[1..])
[INFO] [stdout]      |                                                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/path_segments.rs:178:35
[INFO] [stdout]     |
[INFO] [stdout] 178 |         if self.url.serialization[self.after_first_slash..].ends_with('/') {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/path_segments.rs:193:49
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let last_slash = self.url.serialization[self.after_first_slash..]
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 145 |     &url[Position::BeforeHost..Position::AfterPort]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:240:10
[INFO] [stdout]     |
[INFO] [stdout] 240 |     &url[Position::BeforePort..Position::AfterPort]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 |     trim(&url[Position::AfterPath..Position::AfterQuery])
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:300:62
[INFO] [stdout]     |
[INFO] [stdout] 300 |         _ if new_search.starts_with('?') => Some(&new_search[1..]),
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |     trim(&url[Position::AfterQuery..])
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:317:58
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _ if new_hash.starts_with('#') => Some(&new_hash[1..]),
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/slicing.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &self.serialization[self.index(range.start)..]
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slicing.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |         &self.serialization[self.index(range.start)..self.index(range.end)]
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:354:34
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 (path, &filename[1..])
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:533:20
[INFO] [stdout]     |
[INFO] [stdout] 533 |             .slice(1..self.scheme_end)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:538:23
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if self.slice(self.scheme_end + 1..).starts_with("//") {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |             let host_str = self.slice(self.host_start..self.host_end);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:570:43
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 let port_str = self.slice(self.host_end + 1..self.path_start);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:774:20
[INFO] [stdout]     |
[INFO] [stdout] 774 |         self.slice(self.scheme_end..).starts_with("://")
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:812:24
[INFO] [stdout]     |
[INFO] [stdout] 812 |             self.slice(self.scheme_end + scheme_separator_len..self.path_start)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:845:21
[INFO] [stdout]     |
[INFO] [stdout] 845 |         !self.slice(self.scheme_end + 1..).starts_with('/')
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:873:24
[INFO] [stdout]     |
[INFO] [stdout] 873 |             self.slice(self.scheme_end + scheme_separator_len..self.username_end)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:911:29
[INFO] [stdout]     |
[INFO] [stdout] 911 |             Some(self.slice(self.username_end + 1..self.host_start - 1))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:977:29
[INFO] [stdout]     |
[INFO] [stdout] 977 |             Some(self.slice(self.host_start..self.host_end))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1017:66
[INFO] [stdout]      |
[INFO] [stdout] 1017 |             HostInternal::Domain => Some(Host::Domain(self.slice(self.host_start..self.host_end))),
[INFO] [stdout]      |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1048:53
[INFO] [stdout]      |
[INFO] [stdout] 1048 |             HostInternal::Domain => Some(self.slice(self.host_start..self.host_end)),
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1196:40
[INFO] [stdout]      |
[INFO] [stdout] 1196 |             (None, None) => self.slice(self.path_start..),
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1198:28
[INFO] [stdout]      |
[INFO] [stdout] 1198 |                 self.slice(self.path_start..next_component_start)
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1289:33
[INFO] [stdout]      |
[INFO] [stdout] 1289 |                 Some(self.slice(query_start + 1..))
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1293:33
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                 Some(self.slice(query_start + 1..fragment_start))
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1368:24
[INFO] [stdout]      |
[INFO] [stdout] 1368 |             self.slice(start + 1..)
[INFO] [stdout]      |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1422:39
[INFO] [stdout]      |
[INFO] [stdout] 1422 |             let fragment = self.slice(start + 1..).to_owned();
[INFO] [stdout]      |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1546:45
[INFO] [stdout]      |
[INFO] [stdout] 1546 |                 let after_path = self.slice(i..).to_owned();
[INFO] [stdout]      |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1599:34
[INFO] [stdout]      |
[INFO] [stdout] 1599 |                     path = &path[1..];
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1745:28
[INFO] [stdout]      |
[INFO] [stdout] 1745 |                     .drain(self.host_end as usize..self.path_start as usize);
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1757:49
[INFO] [stdout]      |
[INFO] [stdout] 1757 |                 let path_and_after = self.slice(self.path_start..).to_owned();
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1908:24
[INFO] [stdout]      |
[INFO] [stdout] 1908 |                 .drain(new_path_start as usize..self.path_start as usize);
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1932:33
[INFO] [stdout]      |
[INFO] [stdout] 1932 |         let suffix = self.slice(old_suffix_pos..).to_owned();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1935:38
[INFO] [stdout]      |
[INFO] [stdout] 1935 |             debug_assert!(self.slice(self.scheme_end..self.host_start) == ":");
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2052:45
[INFO] [stdout]      |
[INFO] [stdout] 2052 |             let host_and_after = self.slice(self.host_start..).to_owned();
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2088:38
[INFO] [stdout]      |
[INFO] [stdout] 2088 |             self.serialization.drain(start as usize..end as usize);
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2145:34
[INFO] [stdout]      |
[INFO] [stdout] 2145 |         debug_assert!(self.slice(self.scheme_end..username_start) == "://");
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2146:23
[INFO] [stdout]      |
[INFO] [stdout] 2146 |         if self.slice(username_start..self.username_end) == username {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2149:41
[INFO] [stdout]      |
[INFO] [stdout] 2149 |         let after_username = self.slice(self.username_end..).to_owned();
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2162:61
[INFO] [stdout]      |
[INFO] [stdout] 2162 |                 self.serialization.push_str(&after_username[1..]);
[INFO] [stdout]      |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2339:50
[INFO] [stdout]      |
[INFO] [stdout] 2339 |         parser.serialization.push_str(self.slice(old_scheme_end..));
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2467:46
[INFO] [stdout]      |
[INFO] [stdout] 2467 |                     Some(&self.serialization[self.host_start as usize..self.host_end as usize])
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2598:12
[INFO] [stdout]      |
[INFO] [stdout] 2598 |         &s[self.start as usize..self.end as usize]
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2605:12
[INFO] [stdout]      |
[INFO] [stdout] 2605 |         &s[self.start as usize..]
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2762:59
[INFO] [stdout]      |
[INFO] [stdout] 2762 |         && parser::is_windows_drive_letter(&serialization[host_start..])
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2857:23
[INFO] [stdout]      |
[INFO] [stdout] 2857 |                 first[0..1].to_owned() + ":"
[INFO] [stdout]      |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]   --> src/slicing.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Index<RangeFrom<Position>> for Url {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]   --> src/slicing.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn index(&self, range: RangeFrom<Position>) -> &str {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]   --> src/slicing.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Index<Range<Position>> for Url {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slicing.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn index(&self, range: Range<Position>) -> &str {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-fork` (lib) due to 5 previous errors; 73 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/host.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |             return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/host.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |             return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/host.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |     for i in 0..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/host.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         input = &input[2..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/host.rs:295:24
[INFO] [stdout]     |
[INFO] [stdout] 295 |         input = &input[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/host.rs:304:47
[INFO] [stdout]     |
[INFO] [stdout] 304 |         8 => input.as_bytes().iter().all(|c| (b'0'..=b'7').contains(c)),
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/idna/punycode.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &input[position + 1..]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/idna/uts46.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |     &STRING_TABLE[start..(start + len)]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/idna/uts46.rs:392:49
[INFO] [stdout]     |
[INFO] [stdout] 392 |                     let decoded_label = &output[start..];
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/idna/uts46.rs:422:25
[INFO] [stdout]     |
[INFO] [stdout] 422 |     for label in output[offset..].split('.') {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]   --> src/net/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs,
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:534:32
[INFO] [stdout]     |
[INFO] [stdout] 534 |                         .drain(host_start as usize..host_end as usize);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1209:53
[INFO] [stdout]      |
[INFO] [stdout] 1209 | ...                   &self.serialization[path_start + 1..],
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1230:37
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                 &self.serialization[segment_start..self.serialization.len() - 1]
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1232:37
[INFO] [stdout]      |
[INFO] [stdout] 1232 |                 &self.serialization[segment_start..self.serialization.len()]
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1307:74
[INFO] [stdout]      |
[INFO] [stdout] 1307 |                 && !path_starts_with_windows_drive_letter(&serialization[segment_before_start..])
[INFO] [stdout]      |                                                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1321:71
[INFO] [stdout]      |
[INFO] [stdout] 1321 |             && is_normalized_windows_drive_letter(&self.serialization[path_start..])
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1332:53
[INFO] [stdout]      |
[INFO] [stdout] 1332 |             let slash_position = self.serialization[path_start..].rfind('/').unwrap();
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1337:75
[INFO] [stdout]      |
[INFO] [stdout] 1337 |                 && is_normalized_windows_drive_letter(&self.serialization[segment_start..]))
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1386:35
[INFO] [stdout]      |
[INFO] [stdout] 1386 |             if self.serialization[path_start_as_usize..].starts_with("//") {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1392:41
[INFO] [stdout]      |
[INFO] [stdout] 1392 |             assert!(!self.serialization[scheme_end_as_usize..].starts_with("://"));
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1394:36
[INFO] [stdout]      |
[INFO] [stdout] 1394 |             && &self.serialization[scheme_end_as_usize..path_start_as_usize] == ":/."
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/parser.rs:1409:36
[INFO] [stdout]      |
[INFO] [stdout] 1409 |                     .replace_range(scheme_end_as_usize..path_start_as_usize, ":");
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1412:41
[INFO] [stdout]      |
[INFO] [stdout] 1412 |             assert!(!self.serialization[scheme_end_as_usize..].starts_with("://"));
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/parser.rs:1614:88
[INFO] [stdout]      |
[INFO] [stdout] 1614 |         matches!(c, b'/' | b'\\' | b'?' | b'#') && starts_with_windows_drive_letter(&s[1..])
[INFO] [stdout]      |                                                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/path_segments.rs:178:35
[INFO] [stdout]     |
[INFO] [stdout] 178 |         if self.url.serialization[self.after_first_slash..].ends_with('/') {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/path_segments.rs:193:49
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let last_slash = self.url.serialization[self.after_first_slash..]
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 145 |     &url[Position::BeforeHost..Position::AfterPort]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:240:10
[INFO] [stdout]     |
[INFO] [stdout] 240 |     &url[Position::BeforePort..Position::AfterPort]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/quirks.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 |     trim(&url[Position::AfterPath..Position::AfterQuery])
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:300:62
[INFO] [stdout]     |
[INFO] [stdout] 300 |         _ if new_search.starts_with('?') => Some(&new_search[1..]),
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |     trim(&url[Position::AfterQuery..])
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/quirks.rs:317:58
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _ if new_hash.starts_with('#') => Some(&new_hash[1..]),
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/slicing.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &self.serialization[self.index(range.start)..]
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slicing.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |         &self.serialization[self.index(range.start)..self.index(range.end)]
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:354:34
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 (path, &filename[1..])
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:533:20
[INFO] [stdout]     |
[INFO] [stdout] 533 |             .slice(1..self.scheme_end)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:538:23
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if self.slice(self.scheme_end + 1..).starts_with("//") {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |             let host_str = self.slice(self.host_start..self.host_end);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:570:43
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 let port_str = self.slice(self.host_end + 1..self.path_start);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:774:20
[INFO] [stdout]     |
[INFO] [stdout] 774 |         self.slice(self.scheme_end..).starts_with("://")
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:812:24
[INFO] [stdout]     |
[INFO] [stdout] 812 |             self.slice(self.scheme_end + scheme_separator_len..self.path_start)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:845:21
[INFO] [stdout]     |
[INFO] [stdout] 845 |         !self.slice(self.scheme_end + 1..).starts_with('/')
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:873:24
[INFO] [stdout]     |
[INFO] [stdout] 873 |             self.slice(self.scheme_end + scheme_separator_len..self.username_end)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:911:29
[INFO] [stdout]     |
[INFO] [stdout] 911 |             Some(self.slice(self.username_end + 1..self.host_start - 1))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:977:29
[INFO] [stdout]     |
[INFO] [stdout] 977 |             Some(self.slice(self.host_start..self.host_end))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1017:66
[INFO] [stdout]      |
[INFO] [stdout] 1017 |             HostInternal::Domain => Some(Host::Domain(self.slice(self.host_start..self.host_end))),
[INFO] [stdout]      |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1048:53
[INFO] [stdout]      |
[INFO] [stdout] 1048 |             HostInternal::Domain => Some(self.slice(self.host_start..self.host_end)),
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1196:40
[INFO] [stdout]      |
[INFO] [stdout] 1196 |             (None, None) => self.slice(self.path_start..),
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1198:28
[INFO] [stdout]      |
[INFO] [stdout] 1198 |                 self.slice(self.path_start..next_component_start)
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1289:33
[INFO] [stdout]      |
[INFO] [stdout] 1289 |                 Some(self.slice(query_start + 1..))
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1293:33
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                 Some(self.slice(query_start + 1..fragment_start))
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1368:24
[INFO] [stdout]      |
[INFO] [stdout] 1368 |             self.slice(start + 1..)
[INFO] [stdout]      |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1422:39
[INFO] [stdout]      |
[INFO] [stdout] 1422 |             let fragment = self.slice(start + 1..).to_owned();
[INFO] [stdout]      |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1546:45
[INFO] [stdout]      |
[INFO] [stdout] 1546 |                 let after_path = self.slice(i..).to_owned();
[INFO] [stdout]      |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1599:34
[INFO] [stdout]      |
[INFO] [stdout] 1599 |                     path = &path[1..];
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1745:28
[INFO] [stdout]      |
[INFO] [stdout] 1745 |                     .drain(self.host_end as usize..self.path_start as usize);
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1757:49
[INFO] [stdout]      |
[INFO] [stdout] 1757 |                 let path_and_after = self.slice(self.path_start..).to_owned();
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1908:24
[INFO] [stdout]      |
[INFO] [stdout] 1908 |                 .drain(new_path_start as usize..self.path_start as usize);
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:1932:33
[INFO] [stdout]      |
[INFO] [stdout] 1932 |         let suffix = self.slice(old_suffix_pos..).to_owned();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:1935:38
[INFO] [stdout]      |
[INFO] [stdout] 1935 |             debug_assert!(self.slice(self.scheme_end..self.host_start) == ":");
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2052:45
[INFO] [stdout]      |
[INFO] [stdout] 2052 |             let host_and_after = self.slice(self.host_start..).to_owned();
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2088:38
[INFO] [stdout]      |
[INFO] [stdout] 2088 |             self.serialization.drain(start as usize..end as usize);
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2145:34
[INFO] [stdout]      |
[INFO] [stdout] 2145 |         debug_assert!(self.slice(self.scheme_end..username_start) == "://");
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2146:23
[INFO] [stdout]      |
[INFO] [stdout] 2146 |         if self.slice(username_start..self.username_end) == username {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2149:41
[INFO] [stdout]      |
[INFO] [stdout] 2149 |         let after_username = self.slice(self.username_end..).to_owned();
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2162:61
[INFO] [stdout]      |
[INFO] [stdout] 2162 |                 self.serialization.push_str(&after_username[1..]);
[INFO] [stdout]      |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2339:50
[INFO] [stdout]      |
[INFO] [stdout] 2339 |         parser.serialization.push_str(self.slice(old_scheme_end..));
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2467:46
[INFO] [stdout]      |
[INFO] [stdout] 2467 |                     Some(&self.serialization[self.host_start as usize..self.host_end as usize])
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2598:12
[INFO] [stdout]      |
[INFO] [stdout] 2598 |         &s[self.start as usize..self.end as usize]
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2605:12
[INFO] [stdout]      |
[INFO] [stdout] 2605 |         &s[self.start as usize..]
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/lib.rs:2762:59
[INFO] [stdout]      |
[INFO] [stdout] 2762 |         && parser::is_windows_drive_letter(&serialization[host_start..])
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lib.rs:2857:23
[INFO] [stdout]      |
[INFO] [stdout] 2857 |                 first[0..1].to_owned() + ":"
[INFO] [stdout]      |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b5bd52c0b6df1ec24aa664f5f827d3f3ddc5cf724dfb0f7956cc432542147944", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5bd52c0b6df1ec24aa664f5f827d3f3ddc5cf724dfb0f7956cc432542147944", kill_on_drop: false }`
[INFO] [stdout] b5bd52c0b6df1ec24aa664f5f827d3f3ddc5cf724dfb0f7956cc432542147944
